// 1 使用Object创建对象
function task_1() {
  let user = new Object()
  user.name = '黄飞鸿'
  user.job = '郎中'
  user.address = '广东佛山'
  user.age = '40'
  user.info = function () {
    let box = document.querySelector('.box')
    let div = `
      <div>姓名:${this.name}</div>
      <div>年龄:${this.age}</div>
      <div>工作:${this.job}</div>
      <div>地址:${this.address}</div>
    `
    box.innerHTML = div
  }
  // 要调用info方法
  user.info()
}
// task_1()

// 2 使用原型方法实现字符串功能
function task_2() {
  let str = '  hello world '
  // 清除所有的空格
  String.prototype.trim_all = function () {
    return this.replace(/\s/g, '')
  }
  // 清除左边的空格
  String.prototype.trim_left = function () {
    return this.replace(/^\s+/g, '')
  }
  // 清除右边的空格
  String.prototype.trim_right = function () {
    return this.replace(/\s+$/g, '')
  }
  // 清除两边的空格
  String.prototype.trim_both = function () {
    return this.replace(/(^\s+)|(\s+$)/g, '')
  }
  str = str.trim_both()
  console.log('$' + str + '$')
}
// task_2()
// console.log(' 1 2 3 4 5 '.trim_all())

// 3 原型方法排重
function task_3() {
  let arr = [5, 4, 26, 9, 4, 8, 5, 14]
  // 数组去重
  Array.prototype.unique = function () {
    let list = []
    this.forEach((it) => {
      if (!list.includes(it)) {
        list.push(it)
      }
    })
    return list
    // return [...new Set(this)]
  }
  console.log(arr.unique())
}
// task_3()

// 4 原型方法实现数组排序
function task_4() {
  let arr = [5, 4, 26, 9, 4, 8, 5, 14]
  Array.prototype.sorts = function (flag) {
    this.sort((a, b) => (flag ? a - b : b - a))
  }
  arr.sorts(0)
  console.log(arr)
}
task_4()
